-
Notifications
You must be signed in to change notification settings - Fork 2
Add Architecture Decision Record (ADR) system #212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: tschm <2046079+tschm@users.noreply.github.com>
Co-authored-by: tschm <2046079+tschm@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR establishes an Architecture Decision Records (ADR) system for the Rhiza project to systematically document important architectural and design decisions. It creates the foundational structure with a template and the first ADR that documents the decision to use ADRs itself.
Key changes:
- Establishes ADR directory structure at
docs/adr/with index, template, and first decision record - Documents the rationale for using ADRs including context, consequences, and guidelines for future records
- Updates main README to reference the ADR system and provide quick access to key decisions
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 1 comment.
| File | Description |
|---|---|
| docs/adr/README.md | Creates ADR index file with format guidelines, resource links, and instructions for creating new ADRs |
| docs/adr/0001-use-architecture-decision-records.md | First ADR documenting the decision to adopt ADRs, including detailed context and consequences |
| docs/adr/0000-adr-template.md | Provides standardized template for future ADR documents with consistent sections |
| README.md | Adds new section linking to ADR documentation and highlighting the first ADR |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
|
||
| ## Creating a New ADR | ||
|
|
||
| 1. Copy the template: `cp docs/adr/0000-adr-template.md docs/adr/0002-your-title.md` |
Copilot
AI
Jan 1, 2026
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The example command shows copying to "0002-your-title.md", but the instruction to "Use the next available 4-digit number" in step 2 already makes this clear. Consider updating the example to use a more realistic title like "0002-example-decision.md" for consistency with the naming pattern shown elsewhere in the documentation.
| 1. Copy the template: `cp docs/adr/0000-adr-template.md docs/adr/0002-your-title.md` | |
| 1. Copy the template: `cp docs/adr/0000-adr-template.md docs/adr/0002-example-decision.md` |
|
This is cool, can we add an agentic workflow for this to autogenerate?
|
Establishes systematic documentation of architectural decisions to preserve context and rationale for current and future contributors.
Structure
docs/adr/: Contains all ADRs with sequential 4-digit numbering0000-adr-template.md: Reusable template following Nygard format (Status, Context, Decision, Consequences)docs/adr/README.md: Index table, creation instructions, and ADR documentation0001-use-architecture-decision-records.md: Initial ADR documenting this decisionIntegration
Main README now links to ADR system under Documentation section.
Usage
ADRs are immutable once accepted. Supersede with new ADRs rather than editing existing ones.
Warning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
astral.sh/usr/bin/curl curl -LsSf REDACTED(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.